//package com.example.yan.excel_split.controller.demo1;
//
//import com.alibaba.fastjson.JSONObject;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import javax.imageio.ImageIO;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.servlet.http.HttpSession;
//import java.awt.*;
//import java.awt.List;
//import java.awt.image.BufferedImage;
//import java.io.IOException;
//import java.io.PrintWriter;
//import java.util.*;
//
//@Slf4j
//@Controller
//@RequestMapping("/user")
//public class LoginController {
//
//    // 图片高度
//    private static final int IMG_HEIGHT = 100;
//    // 图片宽度
//    private static final int IMG_WIDTH = 30;
//    // 验证码长度
//    private static final int CODE_LEN = 4;
//    //验证码缓存
//    private static ArrayList<String> codeCache = new ArrayList<>();
//
//
//    @RequestMapping("/index")
//    public String abc() {
//        return "index";
//    }
//
//    @RequestMapping(value = "/login", method = RequestMethod.POST)
//    @ResponseBody
//    public String login(HttpServletResponse response, HttpServletRequest request, HttpSession session) {
//        JSONObject result = new JSONObject(true);
//        String username = request.getParameter("username");
//        String password = request.getParameter("password");
//        String code = request.getParameter("code");
//        String roleName = request.getParameter("roleName");
//
//        System.out.println("===>" + username + password + code+roleName);
//        if (!StringUtils.isBlank(username) && !StringUtils.isBlank(password)) {
//            Boolean flag= userService.findall(username,password);
//            if (flag){
//                if(code.equalsIgnoreCase(codeCache.get(0))){
//                    //通过roleid
//                    Role role = roleService.getRole(roleName);
//                    //通过role角色获取菜单权限
//                    Menu menu = menuService.getMenu(role.getId());
//                    result.put("code", 200);
//                    result.put("msg", "登录成功");
//                    result.put("data",menu);
//                }else {
//                    result.put("code", 5003);
//                    result.put("msg", "验证码不匹配");
//                }
//                return result.toJSONString();
//            }else {
//                result.put("code", 5002);
//                result.put("msg", "用户密码错误请重新输入");
//                return result.toJSONString();
//            }
//        }else {
//            result.put("code", 5001);
//            result.put("msg", "用户名和密码必须填写");
//            return result.toJSONString();
//
//        }
//    }
//
//
//    @RequestMapping("/getCode")
//    @ResponseBody
//    public void test(HttpServletResponse response, HttpServletRequest request) throws IOException {
//        // 用于绘制图片，设置图片的长宽和图片类型（RGB)
//        BufferedImage bi = new BufferedImage(IMG_HEIGHT, IMG_WIDTH, BufferedImage.TYPE_INT_RGB);
//        // 获取绘图工具
//        Graphics graphics = bi.getGraphics();
//        graphics.setColor(new Color(100, 230, 200)); // 使用RGB设置背景颜色
//        graphics.fillRect(0, 0, 100, 30); // 填充矩形区域
//
//        // 验证码中所使用到的字符
//        char[] codeChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456".toCharArray();
//        String captcha = ""; // 存放生成的验证码
//        Random random = new Random();
//        for (int i = 0; i < CODE_LEN; i++) { // 循环将每个验证码字符绘制到图片上
//            int index = random.nextInt(codeChar.length);
//            // 随机生成验证码颜色
//            graphics.setColor(new Color(random.nextInt(150), random.nextInt(200), random.nextInt(255)));
//            // 将一个字符绘制到图片上，并制定位置（设置x,y坐标）
//            graphics.drawString(codeChar[index] + "", (i * 20) + 15, 20);
//            captcha += codeChar[index];
//        }
//        // 将生成的验证码code放入sessoin中
//        request.getSession().setAttribute("code", captcha);
//        // 通过ImageIO将图片输出
//        ImageIO.write(bi, "JPG", response.getOutputStream());
//        codeCache.clear();
//        codeCache.add(captcha);
//    }
//
//}
